package gxt.visual.resource;

import com.extjs.gxt.ui.client.event.BaseObservable;

/**
 * This is a shared resource; <br>
 * The decision of how the resource comes to be initialized (from the server, from the outside, etc) has not yet been made <br>
 * @author eugenp
 */
public abstract class SharedResource< E > extends BaseObservable{
	/** This is the shared resource <br> */
	public E resource = null;
	
	/** */
	protected SharedResource(){
		this.initializeResources();
	}
	
	// 
	protected abstract void initializeResources();
	
	public final E getResource(){
		return this.resource;
	}
	
}
